| Matching Statements |
| File1 Line# |
File2 Line# |
Statement |
| 2 | 2 | VERS EQU 11 |
| 7 | 7 | ORG 100H |
| 9 | 9 | LOADP EQU 900H |
| 10 | 10 | BDOS EQU 5H |
| 11 | 11 | BOOT EQU 0 |
| 12 | 12 | CONI EQU 1 |
| 13 | 13 | CONO EQU 2 |
| 14 | 14 | SELF EQU 14 |
| 15 | 15 | DISKA EQU 0 |
| 16 | 16 | DISKB EQU 1 |
| 18 | 18 | MAXTRY EQU 10 |
| 19 | 19 | NTRKS EQU 2 |
| 20 | 20 | CR EQU BDH |
| 21 | 21 | LF EQU BAH |
| 22 | 22 | STACKSIZE EQU 10 |
| 24 | 24 | WBOOT EQU 1 |
| 26 | 26 | SELDSK EQU 24 |
| 27 | 27 | SETTRK EQU 27 |
| 28 | 28 | SETSEC EQU 30 |
| 29 | 29 | SETDMA EQU 33 |
| 30 | 30 | READF EQU 36 |
| 31 | 31 | WRITF EQU 39 |
| 33 | 33 | LXI SP, STACK |
| 34 | 34 | JMP START |
| 37 | 37 | GETCHAR: |
| 39 | 39 | MVI C, CONI |
39 45 | 39 45 | CALL BDOS |
| 41 | 41 | ANI 5FH |
| 43 | 43 | PUTCHAR: |
| 45 | 45 | MOV E, A |
| 45 | 45 | MVI C, COND |
| 47 | 47 | CRLF: |
| 48 | 48 | MVI A, CR |
49 51 59 | 49 51 59 | CALL PUTCHAR |
| 50 | 50 | MVI A, LF |
| 54 | 54 | OUTMSG: |
55 59 | 55 59 | PUSH H |
55 150 207 213 223 244 250 266 | 55 150 207 213 223 244 250 266 | CALL CRLF |
55 59 | 55 59 | POP H |
| 56 | 56 | OUTMSGA: |
57 108 121 | 57 108 121 | MOV A, M |
57 161 170 | 57 161 170 | ORA A |
| 59 | 59 | INX H |
| 60 | 60 | JMP OUTMSG0 |
| 62 | 62 | SEL: |
64 114 158 | 64 114 158 | MOV C, A |
64 67 73 79 85 91 | 64 67 73 79 85 91 | LHLD WBOOT |
| 64 | 64 | LXI D, SELDSK |
| 64 | 64 | BAD D |
| 66 | 66 | TRK: |
| 68 | 68 | LXI D, SETTRK |
69 75 81 87 93 131 | 69 75 81 87 93 131 | DAD D |
| 72 | 72 | SEC: |
| 74 | 74 | LXI D, SETSEC |
| 78 | 78 | DMA: |
| 80 | 80 | LXI D, SETDMA |
| 84 | 84 | READ: |
| 86 | 86 | LXI D, READF |
| 90 | 90 | WR1TE: |
| 92 | 92 | LXI D, WRITF |
| 95 | 95 | GETPUT: |
| 99 | 99 | LXI H, LOADP |
100 132 | 100 132 | SHLD DMADDR |
103 116 134 215 | 103 116 134 215 | XRA A |
| 104 | 104 | STA TRACK |
| 106 | 106 | RWTRK: |
| 107 | 107 | LXI H, TRACK |
| 109 | 109 | CPI NTRKS |
| 110 | 110 | JNC ENDRW |
| 113 | 113 | INR M |
| 115 | 115 | CALL TRK |
| 117 | 117 | STA SECTOR |
| 119 | 119 | RWSEC: |
| 120 | 120 | LXI H, SECTOR |
| 122 | 122 | CPI 26 |
| 123 | 123 | JNC ENDTRK |
| 124 | 124 | IHR M |
| 127 | 127 | LHLD DMADDR |
| 128 | 128 | MOV B, H |
| 129 | 129 | MOV C, L |
| 130 | 130 | LXI D, 00H |
| 133 | 133 | CALL DMA |
135 156 | 135 156 | STA RETRY |
| 137 | 137 | TRYSEC: |
| 138 | 138 | LDA RETRY |
| 139 | 139 | CPI MAXTRY |
| 140 | 140 | JC TRYOK |
| 143 | 143 | LXI H, ERRMSG |
144 187 189 209 219 225 246 256 260 | 144 187 189 209 219 225 246 256 260 | CALL OUTMSG |
145 190 210 226 247 261 | 145 190 210 226 247 261 | CALL GETCHAR |
146 211 248 262 | 146 211 248 262 | CPI CR |
147 212 236 249 263 | 147 212 236 249 263 | JNZ REBOOT |
| 151 | 151 | JMP RWSEC |
| 153 | 153 | TRYOK: |
| 155 | 155 | INR A |
| 157 | 157 | LDA SECTOR |
| 159 | 159 | CALL SEC |
| 160 | 160 | LDA RW |
| 162 | 162 | JZ TRYREAD |
| 165 | 165 | CALL WRITE |
| 166 | 166 | JMP CHKRW |
| 167 | 167 | TRYREAD: |
| 168 | 168 | CALL READ |
| 169 | 169 | CHKRW: |
| 171 | 171 | JZ RWSEC |
| 174 | 174 | JMP TRYSEC |
| 177 | 177 | ENDTRK: |
| 178 | 178 | JMP RWTRK |
| 180 | 180 | ENDRW: |
| 184 | 184 | START: |
| 186 | 186 | LXI H, SIGHON |
| 188 | 188 | LXI H, ASKGET |
191 227 | 191 227 | MVI C, DISKB |
193 195 | 193 195 | JZ GETC |
196 234 | 196 234 | MVI C, DISKA |
| 198 | 198 | JNZ PUTSYS |
| 200 | 200 | GETC: |
202 205 239 242 | 202 205 239 242 | MOV A, C |
| 204 | 204 | STA GDISK |
205 242 266 | 205 242 266 | CALL SEL |
| 208 | 208 | LXI H, GETMSG |
| 216 | 216 | STA RW |
217 254 | 217 254 | CALL GETPUT |
218 255 | 218 255 | LXI H, DONE |
| 222 | 222 | PUTSYS: |
| 224 | 224 | LXI H, ASKPUT |
229 231 | 229 231 | JZ PUTC |
| 237 | 237 | PUTC: |
| 241 | 241 | STA PDISK |
| 245 | 245 | LXI H, PUTMSG |
| 252 | 252 | LXI H, RW |
| 253 | 253 | MVI M, 1 |
| 258 | 258 | REBOOT: |
| 259 | 259 | LXI H, BOOTING |
| 266 | 266 | MVI A, DISKA |
| 266 | 266 | JMP BOOT |
| 270 | 270 | SIGNON: |
| 272 | 272 | DB VERS/10+ , ,VERS MOD 10+ |
| 273 | 273 | DB 0 |
| 274 | 274 | ASKGET: DB , 0 |
| 275 | 275 | GETMSG: DB |
| 276 | 276 | CDISK: DB |
277 281 | 277 281 | DB , 0 |
| 278 | 278 | ASKPUT: DB , 0 |
| 279 | 279 | PUTMSG: DB |
| 280 | 280 | PDISK: DB |
| 282 | 282 | ERRMSG: DB , 0 |
| 283 | 283 | DONE: DB , 0 |
| 284 | 284 | BOOTING:DB , 0 |
| 287 | 287 | SDISK: DS 1 |
| 288 | 288 | TRACK: DS 1 |
| 289 | 289 | SECTOR: DS 1 |
| 290 | 290 | RW: DS 1 |
| 291 | 291 | DMADDR: DS 2 |
| 292 | 292 | RETRY: DS 1 |
| 293 | 293 | DS STACKSIZE=2 |
| 294 | 294 | STACK: |

| Matching Comments and Strings |
| File1 Line# |
File2 Line# |
Comment/String |
| 1 | 1 | SYSTEM GENERATION PROGRAM, VERSION FOR MDS |
| 2 | 2 | X. X |
| 4 | 4 | COPYRIGHT (C) DIGITAL RESEARCH |
| 5 | 5 | 1976 |
| 7 | 7 | BASE OF TRANSIENT AREA |
| 9 | 9 | LOAD POINT FOR SYSTEM DURING LOAD/STORE |
| 10 | 10 | DOS ENTRY POINT |
| 11 | 11 | JUMP TO 'BOOT' TO REBOOT SYSTEM |
| 12 | 12 | CONSOLE INPUT FUNCTION |
| 13 | 13 | CONSOLE OUTPUT FUNCTION |
| 14 | 14 | SELECT DISK |
| 15 | 15 | NUMBER CORRESPONDING TO A |
| 16 | 16 | AND B, RESPECTIVELY |
| 18 | 18 | MAXIMUM NUMBER OF RETRIES ON EACH READ/WRITE |
| 19 | 19 | NUMBER OF TRACK RESERVED FOR CP/M |
| 20 | 20 | CARRIAGE RETURN |
| 21 | 21 | LINE FEED |
| 22 | 22 | SIZE OF LOCAL STACK |
| 24 | 24 | ADDRESS OF WARM BOOT (OTHER PATCH ENTRY |
| 25 | 25 | POINTS ARE COMPUTED RELATIVE TO WBOOT) |
| 26 | 26 | WBOOT+24 FOR DISK SELECT |
| 27 | 27 | WBOOT+27 FOR SET TRACK FUNCTION |
| 28 | 28 | WBOOT+30 FOR SET SECTOR FUNCTION |
| 29 | 29 | WBOOT+33 FOR SET DMA ADDRESS |
| 30 | 30 | WB00T+36 FOR READ FUNCTION |
| 31 | 31 | WB00T+39 FOR WRITE FUNCTION |
| 33 | 33 | SET LOCAL STACK |
| 36 | 36 | UTILITY SUBROUTINES |
| 38 | 38 | READ CONSOLE CHARACTER TO REGISTER A |
| 40 | 40 | CONVERT TO UPPER CASE BEFORE RETURN |
| 44 | 44 | WRITE CHARACTER FROM A TO CONSOLE |
| 47 | 47 | SEND CARRIAGE RETURN, LINE FEED |
| 54 | 54 | PRINT MESSAGE ADDRESSED BY H,L TIL ZERO |
| 55 | 55 | DROP THRU TO OUTMSG0 |
| 58 | 58 | MESSAGE NOT YET COMPLETED |
| 63 | 63 | SELECT DISK GIVEN BY REGISTER A |
| 66 | 66 | SET UP TRACK |
| 67 | 67 | ADDRESS OF BOOT ENTRY |
| 68 | 68 | OFFSET FOR SETTRK ENTRY |
| 70 | 70 | GONE TO SETTRK |
72 159 | 72 159 | SET UP SECTOR NUMBER |
| 78 | 78 | SET DMA ADDRESS TO VALUE OF B,C |
| 84 | 84 | PERFORM READ OPERATION |
| 90 | 90 | PERFORM WRITE OPERATON |
| 96 | 96 | GET OR PUT CP/M (RW=0 FOR READ, 1 FOR WRITE) |
| 97 | 97 | DISK IS ALREADY SELECTED |
| 99 | 99 | LOAD POINT IN RAN FOR CP/H DURING SYS( |
| 102 | 102 | CLEAR TRACK TO 00 |
| 103 | 103 | CLEAR REG-A |
| 106 | 106 | READ OR WRITE NEXT TRACK |
| 109 | 109 | LOADED OR DUMPED ENTIRE SYSTEM? |
| 110 | 110 | END OF READ OR WRITE |
| 112 | 112 | OTHERWISE NOTDONE, GO TO HEXT TRACK |
| 115 | 115 | TO SET TRACK |
| 117 | 117 | SECTOR INCREMENTED BEFORE READ OR WRITE |
| 119 | 119 | READ OR WRITE SECTOR |
| 122 | 122 | PAST LAST SECTOR ON THIS TRACK? |
| 124 | 124 | TO NEXT SECTOR |
| 126 | 126 | READ OR WRITE SECTOR TO OR FROM CURRENT DMA ADDR |
| 129 | 129 | READY FOR SET DMA |
| 130 | 130 | INCREMENT BY 128 BYTES |
| 132 | 132 | READY FOR NEXT OPERATION |
| 133 | 133 | DMA ADDRESS SET FROM B, C |
| 135 | 135 | SET TO ZERO RETRIES |
| 137 | 137 | TRY TO READ OR WRITE CURRENT SECTOR |
| 139 | 139 | TOO MANY RETRIES? |
| 142 | 142 | PAST MAXTRIES, MESSAGE AHD IGNORE |
| 149 | 149 | TYPED A CR, OK TO IGNORE |
| 154 | 154 | OK TO TRY READ OR WRITE |
| 156 | 156 | RETRY=RETRY+1 |
| 157 | 157 | NEXT SECTOR TO READ OR WRITE |
| 160 | 160 | READ OR WRITE? |
| 164 | 164 | MUST BE WRITE |
| 166 | 166 | CHECK FOR ERROR RETURNS |
| 171 | 171 | ZERO FLAG IF R/W OK |
| 173 | 173 | ERROR, RETRY OPERATION |
| 176 | 176 | END OF TRACK |
| 178 | 178 | FOR ANOTHER TRACK |
| 180 | 180 | END OF READ OR WRITE, RETURN TO CALLER |
| 188 | 188 | GET SYSTEM? |
| 191 | 191 | ASSUME DISK B, UNLESS SPECIFIED |
| 193 | 193 | GET FROM DISK B |
| 196 | 196 | IN CASE A WAS TYPED |
| 197 | 197 | MAY BE FROM A |
| 201 | 201 | SELECT DISK GIVEN BY REGISTER C |
| 204 | 204 | TO SET MESSAGE |
| 206 | 206 | GETSYS, SET RW TO READ, AND GET SYSTEM |
| 221 | 221 | PUT SYSTEM |
| 227 | 227 | ASSUME DISKB, UNLESS SPECIFIED |
| 233 | 233 | MAY BE DISK A |
| 238 | 238 | ;SET DISK FROM REGISTER C |
| 241 | 241 | MESSAGE SET |
| 243 | 243 | PUT SYSTEM, SET RW TO WRITE |
| 254 | 254 | TO PUT SYSTEM BACK ON DISKETTE |
| 265 | 265 | SELECT DISK A BEFORE REBOOT |
| 268 | 268 | DATA AREAS |
| 269 | 269 | MESSAGES |
| 271 | 271 | SYSGEN VERSION |
| 274 | 274 | GET SYSTEM? (Y/N) |
| 275 | 275 | SOURCE ON |
277 281 | 277 281 | , THEN TYPE RETURN |
| 278 | 278 | PUT SYSTEM? (Y/N) |
| 279 | 279 | DESTINATION ON |
| 282 | 282 | PERMANENT ERROR, TYPE RETURN TO IGNORE |
| 283 | 283 | FUNCTION COMPLETE |
| 284 | 284 | REBOOTING, TYPE RETURN |
| 286 | 286 | VARIABLES |
| 287 | 287 | SELECTED DISK FOR CURRENT OPERATION |
| 288 | 288 | CURRENT TRACK |
| 289 | 289 | CURRENT SECTOR |
| 290 | 290 | READ IF 0, WRITE IF 1 |
| 291 | 291 | CURRENT DMA ADDRESS |
| 292 | 292 | NUMBER OF TRIES ON THIS SECTOR |

| Matching Instruction Sequences |
| File1 Line# |
File2 Line# |
Number of matching instructions |
| 2 | 2 | 243 |
| 187 | 223 | 12 |
| 202 | 239 | 12 |
| 223 | 187 | 12 |
| 239 | 202 | 12 |

| Matching Identifiers |
| 00H |
10 |
100H |
11 |
14 |
24 |
26 |
27 |
| 30 |
33 |
36 |
39 |
5FH |
5H |
900H |
ASKGET |
| ASKPUT |
BAD |
BAH |
BDH |
BDOS |
BOOT |
BOOTING |
CDISK |
| CHKRW |
COND |
CONI |
CONO |
CR |
CRLF |
DISKA |
DISKB |
| DMA |
DMADDR |
DONE |
ENDRW |
ENDTRK |
ERRMSG |
GDISK |
GETC |
| GETCHAR |
GETMSG |
GETPUT |
IHR |
LF |
LOADP |
MAXTRY |
NTRKS |
| OUTMSG |
OUTMSG0 |
OUTMSGA |
PDISK |
PUTC |
PUTCHAR |
PUTMSG |
PUTSYS |
| READ |
READF |
REBOOT |
RETRY |
RW |
RWSEC |
RWTRK |
SDISK |
| SEC |
SECTOR |
SEL |
SELDSK |
SELF |
SETDMA |
SETSEC |
SETTRK |
| SIGHON |
SIGNON |
STACK |
STACKSIZE |
START |
TRACK |
TRK |
TRYOK |
| TRYREAD |
TRYSEC |
VERS |
WBOOT |
WR1TE |
WRITE |
WRITF |

| Partially Matching Identifiers |
| *** NONE *** |
|